0 Prolog
↳1 PrologToDTProblemTransformerProof (⇒, 88 ms)
↳2 TRIPLES
↳3 TriplesToPiDPProof (⇒, 59 ms)
↳4 PiDP
↳5 DependencyGraphProof (⇔, 0 ms)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔, 0 ms)
↳9 PiDP
↳10 PiDPToQDPProof (⇒, 0 ms)
↳11 QDP
↳12 QDPSizeChangeProof (⇔, 0 ms)
↳13 YES
↳14 PiDP
↳15 PiDPToQDPProof (⇒, 0 ms)
↳16 QDP
↳17 QDPOrderProof (⇔, 61 ms)
↳18 QDP
↳19 QDPOrderProof (⇔, 84 ms)
↳20 QDP
↳21 DependencyGraphProof (⇔, 0 ms)
↳22 TRUE
NORMALA_IN_GA(op(op(X1, X2), X3), X4) → U2_GA(X1, X2, X3, X4, normalA_in_ga(op(X1, op(X2, X3)), X4))
NORMALA_IN_GA(op(op(X1, X2), X3), X4) → NORMALA_IN_GA(op(X1, op(X2, X3)), X4)
NORMALA_IN_GA(op(X1, op(X2, X3)), X4) → U3_GA(X1, X2, X3, X4, rewriteB_in_gga(X2, X3, X5))
NORMALA_IN_GA(op(X1, op(X2, X3)), X4) → REWRITEB_IN_GGA(X2, X3, X5)
REWRITEB_IN_GGA(X1, op(X2, X3), op(X1, X4)) → U1_GGA(X1, X2, X3, X4, rewriteB_in_gga(X2, X3, X4))
REWRITEB_IN_GGA(X1, op(X2, X3), op(X1, X4)) → REWRITEB_IN_GGA(X2, X3, X4)
NORMALA_IN_GA(op(X1, op(X2, X3)), X4) → U4_GA(X1, X2, X3, X4, rewritecB_in_gga(X2, X3, X5))
U4_GA(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X5)) → U5_GA(X1, X2, X3, X4, normalA_in_ga(op(X1, X5), X4))
U4_GA(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X5)) → NORMALA_IN_GA(op(X1, X5), X4)
rewritecB_in_gga(op(X1, X2), X3, op(X1, op(X2, X3))) → rewritecB_out_gga(op(X1, X2), X3, op(X1, op(X2, X3)))
rewritecB_in_gga(X1, op(X2, X3), op(X1, X4)) → U10_gga(X1, X2, X3, X4, rewritecB_in_gga(X2, X3, X4))
U10_gga(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X4)) → rewritecB_out_gga(X1, op(X2, X3), op(X1, X4))
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
NORMALA_IN_GA(op(op(X1, X2), X3), X4) → U2_GA(X1, X2, X3, X4, normalA_in_ga(op(X1, op(X2, X3)), X4))
NORMALA_IN_GA(op(op(X1, X2), X3), X4) → NORMALA_IN_GA(op(X1, op(X2, X3)), X4)
NORMALA_IN_GA(op(X1, op(X2, X3)), X4) → U3_GA(X1, X2, X3, X4, rewriteB_in_gga(X2, X3, X5))
NORMALA_IN_GA(op(X1, op(X2, X3)), X4) → REWRITEB_IN_GGA(X2, X3, X5)
REWRITEB_IN_GGA(X1, op(X2, X3), op(X1, X4)) → U1_GGA(X1, X2, X3, X4, rewriteB_in_gga(X2, X3, X4))
REWRITEB_IN_GGA(X1, op(X2, X3), op(X1, X4)) → REWRITEB_IN_GGA(X2, X3, X4)
NORMALA_IN_GA(op(X1, op(X2, X3)), X4) → U4_GA(X1, X2, X3, X4, rewritecB_in_gga(X2, X3, X5))
U4_GA(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X5)) → U5_GA(X1, X2, X3, X4, normalA_in_ga(op(X1, X5), X4))
U4_GA(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X5)) → NORMALA_IN_GA(op(X1, X5), X4)
rewritecB_in_gga(op(X1, X2), X3, op(X1, op(X2, X3))) → rewritecB_out_gga(op(X1, X2), X3, op(X1, op(X2, X3)))
rewritecB_in_gga(X1, op(X2, X3), op(X1, X4)) → U10_gga(X1, X2, X3, X4, rewritecB_in_gga(X2, X3, X4))
U10_gga(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X4)) → rewritecB_out_gga(X1, op(X2, X3), op(X1, X4))
REWRITEB_IN_GGA(X1, op(X2, X3), op(X1, X4)) → REWRITEB_IN_GGA(X2, X3, X4)
rewritecB_in_gga(op(X1, X2), X3, op(X1, op(X2, X3))) → rewritecB_out_gga(op(X1, X2), X3, op(X1, op(X2, X3)))
rewritecB_in_gga(X1, op(X2, X3), op(X1, X4)) → U10_gga(X1, X2, X3, X4, rewritecB_in_gga(X2, X3, X4))
U10_gga(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X4)) → rewritecB_out_gga(X1, op(X2, X3), op(X1, X4))
REWRITEB_IN_GGA(X1, op(X2, X3), op(X1, X4)) → REWRITEB_IN_GGA(X2, X3, X4)
REWRITEB_IN_GGA(X1, op(X2, X3)) → REWRITEB_IN_GGA(X2, X3)
From the DPs we obtained the following set of size-change graphs:
NORMALA_IN_GA(op(X1, op(X2, X3)), X4) → U4_GA(X1, X2, X3, X4, rewritecB_in_gga(X2, X3, X5))
U4_GA(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X5)) → NORMALA_IN_GA(op(X1, X5), X4)
NORMALA_IN_GA(op(op(X1, X2), X3), X4) → NORMALA_IN_GA(op(X1, op(X2, X3)), X4)
rewritecB_in_gga(op(X1, X2), X3, op(X1, op(X2, X3))) → rewritecB_out_gga(op(X1, X2), X3, op(X1, op(X2, X3)))
rewritecB_in_gga(X1, op(X2, X3), op(X1, X4)) → U10_gga(X1, X2, X3, X4, rewritecB_in_gga(X2, X3, X4))
U10_gga(X1, X2, X3, X4, rewritecB_out_gga(X2, X3, X4)) → rewritecB_out_gga(X1, op(X2, X3), op(X1, X4))
NORMALA_IN_GA(op(X1, op(X2, X3))) → U4_GA(X1, X2, X3, rewritecB_in_gga(X2, X3))
U4_GA(X1, X2, X3, rewritecB_out_gga(X2, X3, X5)) → NORMALA_IN_GA(op(X1, X5))
NORMALA_IN_GA(op(op(X1, X2), X3)) → NORMALA_IN_GA(op(X1, op(X2, X3)))
rewritecB_in_gga(op(X1, X2), X3) → rewritecB_out_gga(op(X1, X2), X3, op(X1, op(X2, X3)))
rewritecB_in_gga(X1, op(X2, X3)) → U10_gga(X1, X2, X3, rewritecB_in_gga(X2, X3))
U10_gga(X1, X2, X3, rewritecB_out_gga(X2, X3, X4)) → rewritecB_out_gga(X1, op(X2, X3), op(X1, X4))
rewritecB_in_gga(x0, x1)
U10_gga(x0, x1, x2, x3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
NORMALA_IN_GA(op(op(X1, X2), X3)) → NORMALA_IN_GA(op(X1, op(X2, X3)))
POL(NORMALA_IN_GA(x1)) = x1
POL(U10_gga(x1, x2, x3, x4)) = 0
POL(U4_GA(x1, x2, x3, x4)) = 1 + x1
POL(op(x1, x2)) = 1 + x1
POL(rewritecB_in_gga(x1, x2)) = 0
POL(rewritecB_out_gga(x1, x2, x3)) = 0
NORMALA_IN_GA(op(X1, op(X2, X3))) → U4_GA(X1, X2, X3, rewritecB_in_gga(X2, X3))
U4_GA(X1, X2, X3, rewritecB_out_gga(X2, X3, X5)) → NORMALA_IN_GA(op(X1, X5))
rewritecB_in_gga(op(X1, X2), X3) → rewritecB_out_gga(op(X1, X2), X3, op(X1, op(X2, X3)))
rewritecB_in_gga(X1, op(X2, X3)) → U10_gga(X1, X2, X3, rewritecB_in_gga(X2, X3))
U10_gga(X1, X2, X3, rewritecB_out_gga(X2, X3, X4)) → rewritecB_out_gga(X1, op(X2, X3), op(X1, X4))
rewritecB_in_gga(x0, x1)
U10_gga(x0, x1, x2, x3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
NORMALA_IN_GA(op(X1, op(X2, X3))) → U4_GA(X1, X2, X3, rewritecB_in_gga(X2, X3))
POL( U4_GA(x1, ..., x4) ) = 2x1 + x4
POL( rewritecB_in_gga(x1, x2) ) = 2x1 + x2
POL( op(x1, x2) ) = 2x1 + x2 + 1
POL( rewritecB_out_gga(x1, ..., x3) ) = x3
POL( U10_gga(x1, ..., x4) ) = 2x1 + x4 + 1
POL( NORMALA_IN_GA(x1) ) = max{0, x1 - 1}
rewritecB_in_gga(op(X1, X2), X3) → rewritecB_out_gga(op(X1, X2), X3, op(X1, op(X2, X3)))
rewritecB_in_gga(X1, op(X2, X3)) → U10_gga(X1, X2, X3, rewritecB_in_gga(X2, X3))
U10_gga(X1, X2, X3, rewritecB_out_gga(X2, X3, X4)) → rewritecB_out_gga(X1, op(X2, X3), op(X1, X4))
U4_GA(X1, X2, X3, rewritecB_out_gga(X2, X3, X5)) → NORMALA_IN_GA(op(X1, X5))
rewritecB_in_gga(op(X1, X2), X3) → rewritecB_out_gga(op(X1, X2), X3, op(X1, op(X2, X3)))
rewritecB_in_gga(X1, op(X2, X3)) → U10_gga(X1, X2, X3, rewritecB_in_gga(X2, X3))
U10_gga(X1, X2, X3, rewritecB_out_gga(X2, X3, X4)) → rewritecB_out_gga(X1, op(X2, X3), op(X1, X4))
rewritecB_in_gga(x0, x1)
U10_gga(x0, x1, x2, x3)